/**
 * 生成GUID/UUID的工具函数
 */

/**
 * 生成一个随机的GUID/UUID
 * @returns {string} GUID字符串
 */
export function generateGuid() {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    const r = Math.random() * 16 | 0;
    const v = c === 'x' ? r : (r & 0x3 | 0x8);
    return v.toString(16);
  });
}

/**
 * 生成一个简化的GUID（不带连字符）
 * @returns {string} 简化的GUID字符串
 */
export function generateSimpleGuid() {
  return generateGuid().replace(/-/g, '');
}

/**
 * 验证是否为有效的GUID格式
 * @param {string} guid 要验证的字符串
 * @returns {boolean} 是否为有效的GUID
 */
export function isValidGuid(guid) {
  const guidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
  return guidRegex.test(guid);
}